"""
员工管理模块，接口对象层
"""
import requests


class EmpManageApi(object):
    """定义员工管理 api 类"""

    def add_emp(self, req_header, req_body):
        """添加员工"""
        resp = requests.post(url="http://ihrm2-test.itheima.net/api/sys/user",
                             headers=req_header, json=req_body)
        return resp

    def query_emp(self, emp_id, req_header):
        """查询员工"""
        resp = requests.get(url="http://ihrm2-test.itheima.net/api/sys/user/" + emp_id,
                            headers=req_header)
        return resp

    def modify_emp(self, emp_id, req_header, req_body):
        """修改员工"""
        resp = requests.put(url="http://ihrm2-test.itheima.net/api/sys/user/" + emp_id,
                            headers=req_header, json=req_body)
        return resp

    def del_emp(self, emp_id, req_header):
        """删除员工"""
        resp = requests.delete(url="http://ihrm2-test.itheima.net/api/sys/user/" + emp_id,
                               headers=req_header)
        return resp


if __name__ == '__main__':
    # 创建 员工管理类实例
    emp = EmpManageApi()

    # 准备请求头
    resp = requests.post(url="http://ihrm2-test.itheima.net/api/sys/login",
                         json={"mobile": "13800000002", "password": "123456"})
    print("登录成功：", resp.json())
    token = resp.json().get("data")
    req_header = {"Content-Type": "application/json", "Authorization": token}

    # 准备添加员工请求体
    req_body = {
        "username": "张三疯007",
        "mobile": "18989089002",
        "workNumber": "9527"
    }

    resp = emp.add_emp(req_header, req_body)
    print("添加员工：", resp.json())

    # 测试 查询员工
    emp_id = "1549374169483849728"
    resp = emp.query_emp(emp_id, req_header)
    print("查询员工：", resp.json())

    # 测试 修改员工
    emp_mod_req_body = {"username": "七大大圣001"}
    resp = emp.modify_emp(emp_id, req_header, emp_mod_req_body)
    print("修改员工：", resp.json())

    # 测试 删除员工
    resp = emp.del_emp(emp_id, req_header)
    print("删除员工：", resp.json())